<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/static/jQuery-1.11/jquery-1.11.3.min.js"></script>
</head>
<body>
    <button id="btn">按钮</button>
    <script>
        var btnEle = document.getElementById("btn"); // btnEle 存的是 DOM 对象
        console.log(btnEle);
        var $btn = $('#btn'); // // $btn 存的是 jQuery 对象(里面封装 DOM 对象)
        console.log($btn);

        // DOM 对象 => jQuery 对象
        console.log($(btnEle));

        // jQuery 对象 => DOM 对象
        console.log($btn.get(0));


        /*console.log(btnEle.getAttribute("id"));
        console.log($btn.getAttribute("id"));*/
        console.log($ === jQuery);



        // console.log(typeof $);

        // 解释 $ 是什么，就是一个作者定义好的函数而已，下面这些都是调用函数传递参数而已
        // $('#btn')  找页面元素
        // $(btnEle)  把 dom 对象封装 jquery 对象返回
        // $(函数) 页面加载完执行函数
        function $(p) {
            if(typeof p == 'function') {
                window.onload = p;
            } else if(typeof p == 'string') {
                // document.getElementById("p去除#")
                // 把上面把 dom 对象封装 jquery 对象返回
            } else {
                // 把 DOM 对象封装 jquery 对象返回
            }
        }

        // 函数就一个值
        let a = function () {console.log(1)}; // 变量存值
        let arr = [1, 'xx', function () {console.log(1)}];
        let obj = {name:'yy', show:function () {console.log(2)}};

        // 也正是因为其实一个值，所以是做为函数传递的
        arr.forEach(function () {});

    </script>
</body>
</html>